1. Field of the Invention
This invention relates to image processing and rendering.
2. Description of the Prior Art
In image processing systems such as video special effects systems, once a particular effect has been selected and all the parameters defined, a xe2x80x9crenderingxe2x80x9d operation has to take place.
Rendering is the process of generating an output image, a series of images forming an output video sequence, or an intermediate data type such as a motion vector or position value, according to the processing operation which has been set up. For example, a lighting effect might involve the user selecting a source and a destination position for a computer-generated spotlight to be applied to a video sequence. Once these positions have been defined, the next task is to render each image in the output sequence by applying the defined lighting effect to determine the colour and luminance of each pixel of each output image.
With current processing systems, rendering can be very time consuming, typically taking between a few seconds and many hours (depending on the sequence length) to render each image of a video sequence. To avoid inconvenient delays to a user, it is considered desirable not to initiate a rendering process whenever a processing parameter is changed by a user, but instead to wait until the user is happy with all the parameters that have been changed. However, this does not give the user a direct response when he changes a processing parameter.
This invention provides video processing apparatus in which input images of an input video sequence are processed according to user adjustable video effects parameters to generate output images of an output video sequence, the apparatus comprising:
rendering means for rendering images of the output video sequence according to a priority order of:
(i) an image or images currently displayed for view by a user;
(ii) first and last images of the output video sequence; and
(iii) remaining images of the output video sequence.
The invention addresses the problems described above by providing a rendering operation which renders images or data values of an output video sequence according to a priority order, so that those images which are generally required most quickly by the user are rendered first. This can alleviate the subjective delay involved in a rendering operation. This can alleviate subjective delays and also supports the use of multiple views of different stages of a rendering operation.
It is preferred that the user should be able to continue to operate the apparatus during a rendering operation, thus alleviating part of the problem with previous apparatus (where a lengthy rendering operation could make the apparatus temporarily unusable). It is therefore preferred that the rendering means is operable as a background process within the apparatus.
In particular, this may lead to the user changing a parameter being used by a current (background) rendering operation, so it is preferred that the apparatus comprises means for detecting a parameter change by a user which makes a current rendering operation invalid; and means, responsive to such a detected parameter change, for aborting a current rendering operation by the rendering means and for restarting operation of the rendering means. This prevents a waste of processing resources in rendering using out-dated processing parameters.
Preferably the apparatus comprises user-operable sequence selection means for selecting a subset of the input video sequence to be rendered to form the output video sequence. In this way the user can define a range of interest, with only those images in the range of interest being rendered. Particularly during a development of the effects parameters to be used, this can save rendering time.
The invention also provides a video processing method in which input images of an input video sequence are processed according to user adjustable video effects parameters to generate output images of an output video sequence, the method comprising the step of:
rendering images of the output video sequence according to a priority order of:
(i) an image or images currently displayed for view by a user;
(ii) first and last images of the output video sequence; and
(iii) remaining images of the output video sequence.